# 基础镜像：基于 Ubuntu 22.04 的 Maven + Java 21（GLIBC 2.35，兼容 Node.js 20.x）
FROM maven:3.9-eclipse-temurin-21
WORKDIR /app

# 安装 Node.js 20.x（Ubuntu 系统使用 apt 包管理器）
RUN apt-get update && \
    apt-get install -y curl && \
    # 使用 NodeSource 官方脚本安装 Node.js 20.x（适配 Debian/Ubuntu）
    curl -fsSL https://deb.nodesource.com/setup_20.x | bash - && \
    apt-get install -y nodejs && \
    # 验证安装
    node --version && npm --version

# 复制 Java 源代码和配置
COPY pom.xml .
COPY src ./src

# 打包 Java 应用
RUN mvn clean package -DskipTests

# 暴露应用端口
EXPOSE 8127

# 启动应用
CMD ["java", "-jar", "/app/target/TripMateAI-0.0.1-SNAPSHOT.jar", "--spring.profiles.active=prod"]